package com.example.supplychainbackend.service;

import com.example.supplychainbackend.controller.dto.blockchain.UploadInfo;
import com.example.supplychainbackend.controller.dto.quality.*;

import java.util.List;

public interface QualityService {
    //检验批
    List<InspectionBatchDto> listInspectionBatch();
    InspectionBatchDto getInspectionBatch(String IBNO);
    String createInspectionBatch(InspectionBatchDto form);
    InspectionBatchDto updateInspectionBatch(String IBNO, InspectionBatchDto form);
    void deleteInspectionBatch(String IBNO);

    //不合格品
    List<UnqualifiedDto> listUnqualified();
    UnqualifiedDto getUnqualified(String id);
    String createUnqualified(UnqualifiedDto form);
    UnqualifiedDto updateUnqualified(String id, UnqualifiedDto form);
    void deleteUnqualified(String id);

    List<InspectionRequestListDto> getInspectionRequestList();
    InspectionRequestDto getByIdInspectionRequest(String id);
    InspectionRequestDto createInspectionRequest(InspectionRequestDto dto);
    InspectionRequestDto updateInspectionRequest(String id,InspectionRequestDto dto);
    String deleteInspectionRequest(String id);

    List<InspectionOrderListDto> getInspectionOrderList();
    InspectionOrderDto getByIdInspectionOrder(String id);
    InspectionOrderDto createInspectionOrder(InspectionOrderDto dto);
    InspectionOrderDto updateInspectionOrder(String id,InspectionOrderDto dto);
    String deleteInspectionOrder(String id);

    void beginInspectionRequest(String id);

    UploadInfo uploadInspectionRequest(String id);

    UploadInfo uploadInspectionOrder(String id);

    UploadInfo uploadUnqualified(String id);
}
